package com.ruibang.glass.purchase.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.teaming.cloud.framework2.common.pojo.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 原材料验收单表，用于记录原材料的验收详情
 * </p>
 *
 * @author mameng
 * @since 2024-03-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(description = "原材料验收单表，用于记录原材料的验收详情")
@TableName(value = "g_purchase_raw_material_inspection")
public class ProcuresRawMaterialInspection extends BaseEntity implements Serializable {

    @ApiModelProperty(value = "记录唯一标识符")
    @TableId(value = "id", type = IdType.ASSIGN_UUID)
    private String id;

    @ApiModelProperty(value = "验收单编号")
    private String inspectionNumber;

    @ApiModelProperty(value = "到货单单号")
    private String arrivalOrderNumber;

    @ApiModelProperty(value = "到货单单号Id")
    private String arrivalOrderNumberId;

    @ApiModelProperty(value = "原材料名称或描述")
    private String materialItem;

    @ApiModelProperty(value = "供应商名称")
    private String supplier;

    @ApiModelProperty(value = "采购到货单物料Id")
    @TableField(exist = false)
    private String arrivalProductId;


    @ApiModelProperty(value = "批次号")
    private String batchNumber;

    @ApiModelProperty(value = "到货时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime arrivalTime;

    @ApiModelProperty(value = "物管名称")
    private String warehouse;

    @ApiModelProperty(value = "物管判定结果")
    private String warehouseJudgment;

    @ApiModelProperty(value = "配料用户")
    private String ingredientsName;

    @ApiModelProperty(value = "配料用户Id")
    private String ingredientsId;

    @ApiModelProperty(value = "配料判定结果")
    private String ingredientsJudgment;

    @ApiModelProperty(value = "理化")
    private String physicalChemicalName;

    @ApiModelProperty(value = "理化Id")
    private String physicalChemicalId;

    @ApiModelProperty(value = "理化判定结果")
    private String physicalChemicalJudgment;

    @ApiModelProperty(value = "理化化学判定结果")
    private String hxpdjg;

    @ApiModelProperty(value = "验收")
    private String inspectionProcessName;

    @ApiModelProperty(value = "验收Id")
    private String inspectionProcessId;

    @ApiModelProperty(value = "验收结果或状态")
    private String inspectionResult;

    @ApiModelProperty(value = "质检状态或进度")
    private String qualityInspectionStatus;

    @ApiModelProperty(value = "创建人姓名")
    private String creatorName;

    @ApiModelProperty(value = "创建人id")
    private String creatorId;

    @ApiModelProperty(value = "物管送货单监测结果")
    private String wgshd;

    @ApiModelProperty(value = "物管出厂检测报告")
    private String wgccjcbg;

    @ApiModelProperty(value = "物管计划到货数量")
    private String wgjhdhsl;

    @ApiModelProperty(value = "物管实际到货数量")
    private String wgsjdhsl;

    @ApiModelProperty(value = "物管运输防护")
    private String wgysfh;

    @ApiModelProperty(value = "物管异常描述")
    private String wgycms;

    @ApiModelProperty(value = "配料原料外包装")
    private String plylwbz;

    @ApiModelProperty(value = "配料原料初步检查")
    private String plylcbjc;

    @ApiModelProperty(value = "配料异常描述")
    private String plycms;

    @ApiModelProperty(value = "配料原料标识")
    private String plylbs;

    @ApiModelProperty(value = "理化颜色")
    private String lhys;

    @ApiModelProperty(value = "理化外观")
    private String lhwg;

    @ApiModelProperty(value = "理化力度")
    private String lhldOne;

    @ApiModelProperty(value = "理化力度")
    private String lhldTwo;

    @ApiModelProperty(value = "物理第一个格")
    private String wlOne;

    @ApiModelProperty(value = "理化力度")
    private String lhldThree;

    @ApiModelProperty(value = "理化第一个框")
    private String lhhxOne;

    @ApiModelProperty(value = "理化第二个框")
    private String lhhxTwo;

    @ApiModelProperty(value = "理化第三个框")
    private String lhhxThree;

    @ApiModelProperty(value = "理化第四个框")
    private String lhhxFour;

    @ApiModelProperty(value = "理化第五个框")
    private String lhhxFive;

    @ApiModelProperty(value = "理化第六个框")
    private String lhhxSix;

    @ApiModelProperty(value = "理化第七个框")
    private String lhhxSeven;

    @ApiModelProperty(value = "理化第八个框")
    private String lhhxEight;

    @ApiModelProperty(value = "理化第九个框")
    private String lhhxNine;

    @ApiModelProperty(value = "记录创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime creationTime;

    @ApiModelProperty(value = "备注信息")
    private String remarks;


    @ApiModelProperty(value = "物料ID")
    private String materialItemId;

    @ApiModelProperty(value = "仓库Id")
    private String warehouseId;

    @ApiModelProperty(value = "供应商Id")
    private String supplierId;

    @ApiModelProperty(value = "供应商Id")
    private String rdjlsp;

    @ApiModelProperty(value = "物管工序确认")
    private String wggxqr;

    @ApiModelProperty(value = "配料工序确认")
    private String plgxqr;

    @ApiModelProperty(value = "物理工序确认")
    private String wlgxqr;

    @ApiModelProperty(value = "化学工序确认")
    private String hxgxqr;

    @ApiModelProperty(value = "理化水分")
    private String lhsf;


}
